# 导入VectorStoreIndex、Document和Settings类
from llama_index.core import VectorStoreIndex, Document, Settings

# 导入OpenAIEmbedding嵌入模型
from llama_index.embeddings.openai import OpenAIEmbedding

# 设置嵌入模型为OpenAIEmbedding（默认使用text-embedding-ada-002）
Settings.embed_model = OpenAIEmbedding()

# 构建示例文档内容列表
sample_texts = [
    "LlamaIndex提供了多种索引类型来满足不同的应用需求。",
    "向量索引通过嵌入向量实现语义搜索功能。",
    "摘要索引适合需要完整上下文的文档处理任务。",
]

# 将每段文本包装为Document对象
documents = [Document(text=text) for text in sample_texts]

# 创建向量索引，并在构建过程中显示进度条（show_progress=True）
index = VectorStoreIndex.from_documents(documents, show_progress=True)

# 通过向量索引创建查询引擎
query_engine = index.as_query_engine()

# 执行查询，问题为“LlamaIndex有哪些索引类型？”
response = query_engine.query("LlamaIndex有哪些索引类型？")
# 输出查询结果
print(response)
